// 示例 1：

// 输入：target = 7, nums = [2, 3, 1, 2, 4, 3]
// 输出：2
// 解释：子数组[4, 3] 是该条件下的长度最小的子数组。
// 示例 2：

// 输入：target = 4, nums = [1, 4, 4]
// 输出：1
// 示例 3：

// 输入：target = 11, nums = [1, 1, 1, 1, 1, 1, 1, 1]
// 输出：0

let target = 7, nums = [2, 3, 1, 2, 4, 3]

var minSubArrayLen = function (target, nums) {
    // let len = nums.length
    // let slow = 0, result = len, sum = 0
    // for (let fast = 0; fast < len; fast++) {
    //     sum = sum + nums[fast]
    //     while (sum >= target) {
    //         result = Math.min(result, fast - slow + 1)
    //         sum = sum - nums[slow]
    //         slow++
    //     }
    // }
    // if (slow !== 0) {
    //     return result
    // } else {
    //     return 0
    // }

    let len = nums.length, solw = 0, result = len, sum = 0
    for (let fast = 0; fast < len; fast++) {
        sum += nums[fast]
        while (sum >= target) {
            result = Math.min(result, fast - slow + 1)
            sum -= nums[slow]
            slow--
        }
    }

};

console.log(minSubArrayLen(target, nums));
